package com.soup.lab.mybatis.dao;

import com.soup.lab.mybatis.model.Employee;
import com.soup.lab.mybatis.model.EmployeeCriteria;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

public interface EmployeeMapper {
    long countByExample(EmployeeCriteria example);

    int deleteByExample(EmployeeCriteria example);

    int deleteByPrimaryKey(Integer id);

    int insertBatch(@Param("records") List<Employee> records);

    int insert(Employee record);

    int insertSelectiveBatch(@Param("records") List<Employee> records);

    int insertSelective(Employee record);

    List<Employee> selectByExampleWithRowbounds(EmployeeCriteria example, RowBounds rowBounds);

    List<Employee> selectByExample(EmployeeCriteria example);

    Employee selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Employee record, @Param("example") EmployeeCriteria example);

    int updateByExample(@Param("record") Employee record, @Param("example") EmployeeCriteria example);

    int updateBatchByPrimaryKeySelective(@Param("records") List<Employee> records);

    int updateByPrimaryKeySelective(Employee record);

    int updateByPrimaryKey(Employee record);
}